package com.yidu.DatelessManagement.service;
import com.yidu.BusinessParament.entity.Fund;
import com.yidu.DatelessManagement.entity.ProvisionOfIncome;
import org.apache.ibatis.annotations.Select;
import org.springframework.stereotype.Service;

import java.util.List;
import java.util.Map;

/**
 * @author 周楠櫻木
 * @version 1.0
 * @date 2023/2/5
 */
@Service
public interface ProvisionOfIncomeService {
    /**
     * 现金
     * @param provisionOfIncome
     * @param page
     * @param limit
     * @return
     */
    List<ProvisionOfIncome> selectCashInterest(ProvisionOfIncome provisionOfIncome, int page, int limit);
    int getSumRow(ProvisionOfIncome provisionOfIncome);

    List<ProvisionOfIncome> selectBondInterest(ProvisionOfIncome provisionOfIncome,int page,int limit);
    List<ProvisionOfIncome> getSumRowBond(ProvisionOfIncome provisionOfIncome);

    List<ProvisionOfIncome> selectFund(ProvisionOfIncome provisionOfIncome, int page, int limit,String foundTime);
    int SelectFundCount(ProvisionOfIncome provisionOfIncome,String foundTime);


    /**
     * 获取指定时间的资产净值
     *
     * @param createTime 时间
     * @return double 资产净值
     */
    Double getZiChanJinZhi(String createTime);

    /**
     * 获取指定时间的资产净值行数
     *
     * @param createTime 时间
     * @return int 返回查询到的行数
     */
    int getChanJinZhiHangShu(String createTime);

    /**
     * 查询基金创立时间
     *
     * @param fund 基金对象
     * @return int 查询到的行数
     */
    int getJiJinChuangLiShiJian(Fund fund);

    /**
     * 通过查询基金规模
     *
     * @param fundId 数据映射集合
     * @return double 基金规模
     */
    double getJiJinGuiMo(String fundId);

    /**
     * 判断今日是否为基金成立日
     *
     * @param fund 基金对象
     * @return int 执行成功的行数
     */
    boolean panDuanJinRiShiFouWeiJiJingChenLiRi(Fund fund);

    /**
     * 根据id查询基金
     * @param fundId 基金id
     * @return
     */
    Fund provisionOfIncomeSelectFund(String fundId);

    List<ProvisionOfIncome> SelectFundScale();
}
